package io.renren.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.renren.entity.EslRefreshResultEntity;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.util.Date;

@Data
public class EslReturnDataVo {
    /**
     * 请求的sid
     */
    @JsonProperty(value = "sid")
    private String sid;
    /**
     * 墨水屏id
     */
    @JsonProperty("esl_id")
    private String eslId;
    /**
     * 基站与价签之间通信的能量值
     */
    @JsonProperty("rpf_power")
    private Integer rpfPower;
    /**
     * 失败重试次数
     */
    @JsonProperty("retry")
    private Integer retry;
    /**
     * 基站id
     */
    @JsonProperty("ap_id")
    private String apId;
    /**
     * base64后的价签渲染图
     */
    @JsonProperty("esl_image")
    private String eslImage;
    /**
     * 基站mac
     */
    @JsonProperty("ap_mac")
    private String apMac;
    /**
     * 此价签在此基站上的最后一次心跳时间
     */
    @JsonProperty("last_hb_time")
    private String lastHbTime;
    /**
     * 通信ACK值
     */
    @JsonProperty("last_esl_ack")
    private Integer lastEslAck;
    /**
     * 最后一次通信任务类型
     */
    @JsonProperty("last_payload_type")
    private String lastPayloadType;
    /**
     * 此价签绑定的salesNo
     */
    @JsonProperty("sales_no")
    private String salesNo;
    /**
     * 错误代码
     */
    @JsonProperty("status_no")
    private Integer statusNo;
    /**
     * 错误信息
     */
    @JsonProperty("err_msg")
    private String errMsg;

    public static EslRefreshResultEntity convertFor(EslReturnDataVo vo) {
        EslRefreshResultEntity eslRefreshResultEntity = new EslRefreshResultEntity();
        BeanUtils.copyProperties(vo, eslRefreshResultEntity);
        eslRefreshResultEntity.setCreateTime(new Date());
        eslRefreshResultEntity.setUpdateTime(new Date());
        return eslRefreshResultEntity;
    }
}
